/**** 此文件说明请看注释 *****/
// 可以用自己项目的请求方法
// 请求配置说明：https://ext.dcloud.net.cn/plugin?id=822
import {
		showInfoToast,
		doPostForm,
	} from '@/common/util.js'
import * as ResponseStatus from '@/common/response-status.js'
/**** 结束 *****/
const platform = uni.getSystemInfoSync().platform;
export default {
    // 发起ajax请求获取服务端版本号
    getServerNo: (version, isPrompt = false, callback) => {
        let httpData = {
            vn: version.versionCode,
        };
        if (platform == "android") {
            httpData.type = 1;
        } else {
            httpData.type = 2;
        }
        /* 接口入参说明
         * version: 应用当前版本号（已自动获取）
         * versionName: 应用当前版本名称（已自动获取）
         * type：平台（1101是安卓，1102是IOS）
         */
        /****************以下是示例*******************/
        // 可以用自己项目的请求方法（接口自己找后台要，插件不提供）
		console.log("请求更新")
        doPostForm("/version/versionNumber", httpData,{},false).then(res => {
            /* res的数据说明
             * | 参数名称        | 一定返回     | 类型        | 描述
             * | -------------|--------- | --------- | ------------- |
             * | versionCode     | y        | int       | 版本号        |
             * | versionName     | y        | String    | 版本名称      |
             * | versionInfo     | y        | String    | 版本信息      |
             * | updateType      | y        | String    | forcibly = 强制更新, solicit = 弹窗确认更新, silent = 静默更新 |
             * | downloadUrl     | y        | String    | 版本下载链接（IOS安装包更新请放跳转store应用商店链接,安卓apk和wgt文件放文件下载链接）  |
             */
			if (res.data.code == ResponseStatus.OK) {
				// 兼容之前的版本（updateType是新版才有的参数）
				let data = JSON.parse(JSON.stringify(res.data.data))
				data.versionInfo = data.content
				console.log("版本更新信息",data)
				let down = data.downloadUrl
				if(data.forceUpdate ===1){
				    data.updateType = "forcibly";
				} else if(data.forceUpdate === 0) {
				    data.updateType = "solicit";
				} else if(data.forceUpdate === 2) {
				    data.updateType = "silent";
				}
				if(data.wgtStatus){
					console.log("启用热更新",data.wgtStatus)
					data.downloadUrl = data.wgtUrl
				}
				if(getApp().globalData.isAndroid){
					data.versionCode = data.version
					data.versionName = data.versionNumber
				}else {
					if(!data.status){
						return
					}
					data.versionCode = data.iosVersion
					data.versionName = data.iosVersionNumber
					if(data.status&&data.iosWgtUrl){
						data.downloadUrl = data.iosWgtUrl
					}else {
						data.downloadUrl = data.iosLoadUrl
					}
				}
				plus.runtime.getProperty(plus.runtime.appid, function(inf) {
					let versionCode = parseInt(data.versionCode)
					let Difference = versionCode - inf.versionCode
					console.log("APP相差版本",Difference)
					if(Difference>2){
						data.updateType = "forcibly";
						if(getApp().globalData.isAndroid){
							showInfoToast("您的版本过于老旧,请立即更新APP");
							data.downloadUrl = down
						}else {
							// data.downloadUrl = data.iosLoadUrl
						}
					}else if (Difference<-1){
						data.updateType = "forcibly";
						if(getApp().globalData.isAndroid){
							showInfoToast("您的版本过于老旧,请立即更新APP");
							data.downloadUrl = down
						}else {
							// data.downloadUrl = data.iosLoadUrl
						}
					}
					console.log("版本更新信息",data)
					// data.downloadUrl = data.downloadUrl1 
					callback && callback(data);
				});
				
			}else {
				if(isPrompt){
					uni.showToast({
					    title: "暂无新版本",
					    icon: "none"
					});
				}
			}
           
        });
        /****************以上是示例*******************/
    },
    // 弹窗主颜色（不填默认粉色）
    appUpdateColor: "189FF9",
    // 弹窗图标（不填显示默认图标，链接配置示例如： '/static/demo/ic_attention.png'）
    appUpdateIcon: ''
}